package a.f.d;

import a.c.bb;
import a.c.d;
import a.c.e;
import a.c.k;
import a.c.m;
import a.f.o;
import a.i.l;

import java.util.Comparator;

public class nb
{
  public static int a;
  
  public static void a(o paramo, bb[] paramArrayOfbb, k paramk)
  {
    int m = f.o;
    int k = f.n;
    int[] arrayOfInt = new int[paramo.k()];
    int i = 0;
    do
    {
      if (i >= paramArrayOfbb.length) {
        break;
      }
      int j = 0;
      localw = paramArrayOfbb[i].l();
      if (localw.e())
      {
        arrayOfInt[localw.d().f()] = j;
        localw.f();
        j++;
      }
      for (;;)
      {
        if (m == 0) {
          if (k == 0)
          {
            if (k == 0) {
              break;
            }
            if (m != 0) {
              continue;
            }
            i++;
          }
        }
      }
    } while (k == 0);
    a_ locala_1 = new a_(arrayOfInt, true);
    a_ locala_2 = new a_(arrayOfInt, false);
    a.c.w localw = paramo.v();
    if (localw.e())
    {
      localw.d().b(locala_2);
      localw.d().a(locala_1);
      localw.f();
    }
    for (;;)
    {
      if ((m != 0) || (k == 0))
      {
        if (k == 0) {
          break;
        }
        if (m == 0) {
          a(paramo, paramk);
        }
      }
    }
  }
  
  private static void a(o paramo, k paramk)
  {
    int j = f.o;
    int i = f.n;
    a.c.w localw = paramo.v();
    label300:
    label302:
    do
    {
      do
      {
        if (!localw.e()) {
          return;
        }
        e locale = localw.d();
        double d3 = paramo.s(locale);
        double d1;
        double d2;
        m localm;
        d locald;
        if (j == 0)
        {
          if ((locale.e() > 0) && (paramk.get(locale) == null))
          {
            d1 = d3 / locale.e();
            d2 = paramo.p(locale) + d1 / 2.0D;
            localm = locale.n();
            do
            {
              if (!localm.e()) {
                break;
              }
              locald = localm.a();
              paramo.c(locald, new a.d.w(d2, paramo.q(locale) + paramo.t(locale)));
              d2 += d1;
              localm.f();
              if (j != 0) {
                break label302;
              }
              if (i != 0) {
                break label300;
              }
            } while (i == 0);
          }
          if ((j == 0) && (j != 0)) {
            break label302;
          }
        }
        if ((locale.d() > 0) && (paramk.get(locale) == null))
        {
          d1 = d3 / locale.d();
          d2 = paramo.p(locale) + d1 / 2.0D;
          localm = locale.m();
          do
          {
            if (!localm.e()) {
              break;
            }
            locald = localm.a();
            paramo.d(locald, new a.d.w(d2, paramo.q(locale)));
            d2 += d1;
            localm.f();
            if (j != 0) {
              break label302;
            }
            if (i != 0) {
              break label300;
            }
          } while (i == 0);
        }
      } while (j != 0);
      localw.f();
    } while (i == 0);
  }
  
  public static void a(o paramo, k paramk, Comparator paramComparator1, Comparator paramComparator2)
  {
    int n = f.o;
    int m = f.n;
    d[] arrayOfd = new d[paramo.m()];
    a.c.w localw = paramo.v();
    label173:
    label174:
    label357:
    label365:
    label366:
    do
    {
      do
      {
        if (!localw.e()) {
          return;
        }
        e locale = localw.d();
        double d3 = paramo.s(locale);
        double d1;
        double d2;
        int i;
        if (n == 0) {
          if ((locale.e() > 0) && (paramk.get(locale) == null))
          {
            d1 = d3 / locale.e();
            d2 = paramo.p(locale) + d1 / 2.0D;
            i = 0;
            m localm1 = locale.n();
            do
            {
              if (!localm1.e()) {
                break;
              }
              arrayOfd[i] = localm1.a();
              localm1.f();
              i++;
              if (n != 0) {
                break label174;
              }
              if (m != 0) {
                break label173;
              }
            } while (m == 0);
            if (n != 0) {
              break label357;
            }
          }
        }
        while (n != 0)
        {
          l.a(arrayOfd, 0, i, paramComparator2);
          int j = 0;
          do
          {
            if (j >= i) {
              break;
            }
            paramo.c(arrayOfd[j], new a.d.w(d2, paramo.q(locale) + paramo.t(locale)));
            d2 += d1;
            j++;
            if (n != 0) {
              break label438;
            }
            if (m != 0) {
              break label436;
            }
          } while (m == 0);
          if ((n == 0) && (n != 0)) {
            break label438;
          }
          if ((locale.d() <= 0) || (paramk.get(locale) != null)) {
            break label424;
          }
          d1 = d3 / locale.d();
          d2 = paramo.p(locale) + d1 / 2.0D;
          i = 0;
          m localm2 = locale.m();
          do
          {
            if (!localm2.e()) {
              break;
            }
            arrayOfd[i] = localm2.a();
            localm2.f();
            i++;
            if (n != 0) {
              break label366;
            }
            if (m != 0) {
              break label365;
            }
          } while (m == 0);
        }
        l.a(arrayOfd, 0, i, paramComparator1);
        int k = 0;
        do
        {
          if (k >= i) {
            break;
          }
          paramo.d(arrayOfd[k], new a.d.w(d2, paramo.q(locale)));
          d2 += d1;
          k++;
          if (n != 0) {
            break label438;
          }
          if (m != 0) {
            break label436;
          }
        } while (m == 0);
      } while (n != 0);
      localw.f();
    } while (m == 0);
    label424:
    label436:
    label438:
    return;
  }
  
  static class a_
    implements Comparator
  {
    boolean a;
    int[] c;
    
    a_(int[] paramArrayOfInt, boolean paramBoolean)
    {
      this.c = paramArrayOfInt;
      this.a = paramBoolean;
    }
    
    public int compare(Object paramObject1, Object paramObject2)
    {
      if (f.o == 0) {
        if (this.a)
        {
          i = this.c[((d)paramObject1).e().f()];
          j = this.c[((d)paramObject2).e().f()];
          return l.a(i, j);
        }
      }
      int i = this.c[((d)paramObject1).f().f()];
      int j = this.c[((d)paramObject2).f().f()];
      return l.a(i, j);
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.d.nb

 * JD-Core Version:    0.7.0.1

 */